<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 函数式编程


    // 函数可以作为参数
    function test(fn) {
      fn(fn2)//调用fn1
      // fn()
    }
    function fn1(fn) {
      console.log(111);
      fn()//调用fn2
    }
    function fn2() {
      console.log(222);
    }

    test(fn1)


    function fn3() {
      return function () {
        console.log(333);
      }
    }
    // var res1 = fn3()
    // res1()

    fn3()()

    // 在js中，非0的数字，非""，非undefined，非null，都相当于true
    // 否则相当于false
    function fn4(name, age, sex = '女', ...rest) {
      sex = sex || '未知'
      console.log('我叫' + name + '，今年' + age + '了，是个' + sex + '娃娃');
      console.log(`我叫${name}，今年${age}了，是个${sex}娃娃`);
      // console.log(arguments[3]);
      console.log(rest);
    }

    // 我叫lisi，今年60了，是个男娃娃
    fn4('lisi', 60, 'nan', '爱吃麻辣烫', 'heihi')
    // fn4('lisi', 60)
  </script>
</body>

</html>